var app = angular.module("listApp", []),
	parid = UI.getParameterByName('parId');
var timeout_json = function(data, $window) {
	if(data.returnCode == 999994) {
		var ss = 3;
		layer.msg(data.returnMessage + "！<strong class='Ajax_Out'>" + ss + "</strong> 秒后前往登录页", 50, -1);
		var picInt = setInterval(function() {
			if(ss >= 1) {
				ss = ss - 1;
				$('.Ajax_Out').text(ss);
			} else {
				clearInterval(picInt);
				try {
					$window.parent.location.href = data.returnData;
					$window.location.href = data.returnData;
				} catch(e) {
					log('timeout!')
				}
			}
		}, 1000);
		return false;
	}
}

app.config(function($httpProvider) {
	$httpProvider.defaults.headers.put['Content-Type'] = 'application/x-www-form-urlencoded';
	$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
	$httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
});

app.controller('tableCtrl', function($scope, $http, $window) {
	var vm = $scope.vm = {
		pageIndex: 1,
		pageSize: 10,
		customId: '',
		title: '',
		content: '',
		domain_category: '',
		source: '',
		author: ''
	}
	var stpage = function(ii) {
			var jpage = [],
				index = vm.pageIndex,
				pcount = vm.pageSize,
				total = $scope.datas.totalRecords;
			len = 0,
				j = 0,
				pindex,
				tii = (ii - 1) / 2,
				sii = (ii - 1);
			if(total % pcount == 0) {
				len = total / pcount;
			} else {
				len = parseInt(total / pcount) + 1;
			}
			if(len >= ii) {
				if(index < ii) {
					for(var i = 1; i <= len; i++) {
						j++;
						if(j <= ii) jpage.push(i);
					}
				} else if(index >= len - sii) {
					var pindex = index < len - tii ? index - tii : len - sii;
					for(var i = pindex; i <= len; i++) {
						j++;
						if(j <= ii) jpage.push(i);
					}
				} else {
					for(var i = index - tii; i <= len; i++) {
						j++;
						if(j <= ii) jpage.push(i);
					}
				}
			} else {
				for(var i = 1; i <= len; i++) {
					jpage.push(i);
				}
			};
			$scope.pages_e = len;
			$scope.pages = jpage;
		}
		//删除
	$scope.domAjax = function(e, id, name) {
		var ids = '',
			de_id=id;
		$('.td .ui_checkbox.checked').each(function() {
			ids = ids + $(this).attr('data-id') + ',';
		});
//		if(ids.length>0){ 
//			//删除多条
//			ids = ids.substr(0, ids.length - 1);
//			id=ids;
//			$('.layerInfoArea .jtit p').eq(0).text('是否删本条内容！');
//		}
		if((e === 'del') || (e === 'delAll')) {
			$.layer({
				title: "温馨提示：",
				shade: [0],
				area: ['230', 'auto'],
				dialog: {
					msg: '确定删除吗？',
					btns: 2,
					type: -1,
					btn: ['确定', '取消'],
					yes: function() {
						//删除
						$http.get(basePath + 'domain/deletedomain.do?domain_id=' + id +'&domain_name='+ name).success(function(data) {
							var j = timeout_json(data, $window);
							if(j == false) {
								return false;
							}

							layer.msg(data.returnMessage, 1, -1);
							setTimeout(function() {
								if(window.reLength==1&&vm['pageIndex']>1){
									$scope.setAjax({"pageindex" : vm['pageIndex']-1});
								}else{
									$scope.setAjax();
								}
							},1000);
						});

					},
					no: function() {}
				}
			});

		} else if(e == "modelExc") {
			//导出Exc表格模版
			var url = basePath + "domain/exportExcelForModel.do?sp=1";
			window.open(url,"_self");

		} else if(e == "outExc") {
			if(ids.length <= 0) {
				layer.msg('请您选中数据进行操作!', 1, -1);
				return false;
			}
			ids = ids.substr(0, ids.length - 1);
			//导出Exc表格
			var url = basePath + "domain/exportExcelForPageData.do?domain_id="+ ids;
			window.open(url,"_self");
		}
	}

	$scope.setAjax = function(obj) {
		if(obj) {
			vm["pageSize"] = obj.pagesize || vm["pageSize"];
			vm["pageIndex"] = obj.pageindex || vm["pageIndex"];
			//判断输入的页数是否大于最大的页数
			if(vm["pageIndex"]>$scope.pages_e){
				vm["pageIndex"]=$scope.pages_e;
			}
		}
		$scope.addparid = parid;
		vm.domain_category = $(".infoVal").val();
		url = basePath + 'domain/queryByParams.do?pageIndex=' + vm['pageIndex'] + '&pageSize=' + vm['pageSize'] + '&vtimes=' + new Date().getTime();
		if(vm.title != undefined && vm.title != "") url = url + '&domain_name=' + encodeURIComponent(vm['title']);
		if(vm.domain_category != undefined && vm.domain_category != "") url = url + "&domain_category=" + vm['domain_category'];
		if(vm.content != undefined && vm.content != "") url = url + '&domain_domain=' + encodeURIComponent(vm['content']);
		
	    var dLoading='';
	    $scope.dLoading=true;
	    $(".fuzzy").addClass("fuzzyCss");
	    
		$http.get(url).success(function(data) {
			//获取本次返回数据的条数
			window.reLength = data.returnData.length;
			//取得当前页面的上一页、下一页
			$scope.prevIndex = parseInt($("#jsgo .cur").text())-1;
			$scope.nextIndex = parseInt($("#jsgo .cur").text())+1;
			
			var j = timeout_json(data, $window);
			if(j == false) {
				return false;
			}
			$('#zcont').removeClass('checked');
			$scope.datas = data;
			stpage(7);
			$scope.dLoading=false;
			 $(".fuzzy").removeClass("fuzzyCss");
			if($scope.dLoading==false){
				if(data.returnData.length <= 0) {
					layer.msg('无数据！', 1, -1);
				}
			}
			$scope.keyInt="";
		});
	};
	$scope.setAjax();
	$scope.getAjax = function() {
		vm["pageIndex"] = 1;
		$scope.setAjax();
	}
	$(document).live('keyup', function(e) {
		e = e || window.event;
		if(e.keyCode == 13) {
			$scope.getAjax();
		}
	});
});

app.directive('pagen', function() { //页总数
	return {
		link: function($scope, ele) {
			ele.bind('click', function() {
				var pagesize = $(this).text();
				$(ele).addClass('cur').siblings().removeClass('cur');
				$scope.setAjax({
					"pagesize": pagesize,
					"pageindex": 1
				})
			})

		}
	}
});
app.directive('pageg', function() { //fenye
	return {
		link: function($scope, ele) {
			ele.bind('click', function() {
				var index = $(this).attr('data-href');
				/**
				 * 条件一：如果index为非数字，点击上一页，设为当前页码-1;
				 * 条件二：如果index为非数字，点击下一页，设为当前页码+1;
				 */
				if(isNaN(index) && $(this).attr('class')=="str"){
					index = parseInt($("#jsgo .cur").text())-1;
				}else if(isNaN(index) && $(this).attr('class')=="end"){
					index = parseInt($("#jsgo .cur").text())+1;
				}
				$scope.setAjax({
					"pageindex": index
				})
			})
		}
	}
});

$(function() {

	laydate.skin('molv');
	$('.ui_select').each(function() {
		var _ = $(this),
			_a = _.find('.ui_s_t'),
			_c = _.find('.ui_s_bk'),
			_ca = _c.find('a');
		_a.live('click', function() {
			_c.slideToggle(200, "easeInSine");
		});
		_ca.live('click', function() {
			$(this).addClass('cur').siblings().removeClass('cur');
			_a.text($(this).text());
			$("#tapSelects").val($(this).attr("type"));
			_c.slideToggle(200, "easeInSine");
		});
		_c.live('mouseleave', function() {
			_c.stop(false, true).slideUp(200, "easeInSine");
		});
	});

	$('.ui_select').live('keyup', function(e) {
		var _ = $(this),
			b = _.find('.ui_s_bk'),
			di = 27;
		_.focus();
		e = e || window.event;
		var indx = b.find('a.cur').index() || 0;
		if(e.keyCode == 40) {
			var aindx = indx + 1,
				sct;
			if(rindx >= b.find('a').length) {
				rindx = b.find('a').length;
			}
			b.find('a').eq(aindx).addClass('cur').siblings('a').removeClass('cur');
			sct = aindx * di > 180 ? aindx * di - 80 : 0;
			b.scrollTop(sct);
		} else if(e.keyCode == 38) {
			var rindx = indx - 1,
				sct;
			sct = aindx * di > 100 ? aindx * di : 0;
			if(rindx <= 0) {
				rindx = 0;
			}
			b.find('a').eq(rindx).addClass('cur').siblings('a').removeClass('cur');
			sct = rindx * di > 180 ? rindx * di - 80 : 0;
			b.scrollTop(sct);
		} else if(e.keyCode == 13) {
			b.find('a.cur').trigger('click');
			_.blur();
			_.find('.ui_s_t').blur();
		}
		return false;
	});
	
	$('#zcont').on('click', function() {
		$(this).toggleClass('checked');
		if ($(this).attr('class').search('checked') > -1) {
			$('.td .ui_checkbox').addClass('checked');
		} else {
			$('.td .ui_checkbox').removeClass('checked');
		}
	});
	$('.td .ui_checkbox').live('click', function() {
		$(this).toggleClass('checked');
	});
	
	//只要有选项没被选中，那么全选就不会出现选中状态
	$(".td .ui_checkbox").live("click", function() {
		checkTrueFalse();
	});
	function checkTrueFalse() {
		var isTrue = true;
		$(".td .ui_checkbox").each(function() {
			var hasChecked = $(this).hasClass("checked");
			if(hasChecked == false) {
				isTrue = false;
				return;
			}
		});
		if(isTrue == false) {
			$("#zcont").removeClass("checked");
		} else {
			$("#zcont").addClass("checked");
		}
	}
	
	var editExaDataLayer = null;
	$('.editExaDataBtn').live('click', function() {
		var editExaDataLayer = $.layer({
			type: 1,
			title: false,
			area: ['500', '300'],
			border: [0], //去掉默认边框
			shade: [0.3, '#000'], //去掉遮罩
			closeBtn: [0, false], //去掉默认关闭按钮
			fadeIn: 500,
			move: "#editExaData_tile",
			page: {
				dom: '#editExaDataLayer'
			}
		});
		//自设关闭
		$('#editExaDataLayer > .closeBtn,#editExaDataLayer .cancelLayer').live('click', function() {
			layer.close(editExaDataLayer);
			document.getElementById("userdefinedFile").value = document.getElementById("importExcel").value = "";
		});
	});
	
	$("#activityForm").resetForm().validate({  
        rules: {  
            "importExcel": {  
                required: true,  
                accept: "xls"  
            }  
        },  
        messages: {  
            "importExcel": {  
                required: "* 请选择上传文件 !",  
                accept: "* 请上传 xls格式的文件 !"  
            }  
        }, 
      	submitHandler: function() {  
          	$("#activityForm").ajaxSubmit({  
             	url: basePath + "domain/importExcelModel.do",  
              	type:"post",  
              	enctype:"multipart/form-data",  
              	contentType: "application/x-www-form-urlencoded; charset=utf-8",  
              	dataType:"json",  
              	success: function(data){  	
					if(data.returnCode == 10000) {
						layer.msg(data.returnMessage, 1, 10);
						setTimeout(function(){
							window.location.reload();	
						},1000);
					} else if(data.returnCode == 999994) {
						setUserTimeout(data);
					} else {
						layer.msg(data.returnMessage, 2, -1);
					}
				},
				error: function(message) {
					layer.msg(message, 2, -1);
				}  
        	});  
          return false;  
      	}  
    });  

	$("#editExaSubmitBtn").live("click", function() {
		$("form").submit();
	});

});